/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package com.far.aus.adm.pdf;

import com.far.lib.Fecha;
import com.far.lib.Pdf;
import com.lowagie.text.Document;
import com.lowagie.text.Element;
import com.lowagie.text.Font;
import com.lowagie.text.Image;
import com.lowagie.text.pdf.PdfPCell;
import com.lowagie.text.pdf.PdfPTable;
import com.lowagie.text.pdf.PdfWriter;
import java.io.FileOutputStream;
import java.sql.ResultSet;

/**
 *
 * @author Jorge
 */
public class AuspicioPdf {
    public void generar(String logo, String archivo, String num_auspicio, String fecha_creacion, String proveedor, String ruc, String contacto, String cedula, String representante, String cedula_rep, 
            String son, String plazo, String observacion, String subtotal, String iva, String total, ResultSet rsPanActividades, String cedula_empleado, String empleado) throws Exception
    {
        Document documento = new Document();
        PdfWriter.getInstance(documento, new FileOutputStream(archivo));
        documento.open(); 
        
        StringBuilder texto = new StringBuilder();
        texto.append("Se hace constar por medio del presente documento; el Convenio de Auspicio, que celebran por una parte ");
        texto.append(proveedor);
        texto.append(", identificada con R.U.C. No ");
        texto.append(ruc);
        texto.append(", debidamente representada por su funcionario el Sr.(a) ");
        texto.append(contacto);
        texto.append(", identificado con el número cédula ");
        texto.append(cedula);
        texto.append(", a quien en lo sucesivo se denominará EL AUSPICIADOR; y, de por otra parte, FARMAENLACE CIA LTDA, identificado con R.U.C. N° 1791984722001, debidamente representado por su funcionario el Sr.(a) ");
        texto.append(representante);
        texto.append(", identificado con el número cédula ");
        texto.append(cedula_rep);
        texto.append(", a quien en lo sucesivo se denominará EL AUSPICIADO.\n\n");
        
        PdfPTable tabla = new PdfPTable(1);
        
        try{
            Image imagelogo = Image.getInstance(logo);
            imagelogo.scaleAbsolute(179, 44);
            PdfPCell celdaImg = new PdfPCell(imagelogo);
            celdaImg.setBorderWidth(0);
            celdaImg.setPadding(0);
            tabla.addCell(celdaImg);
        }catch(Exception e){
            e.printStackTrace();
            tabla.addCell(" ");
        }
        
        tabla.addCell(Pdf.setCeldaPDF("CONVENIO DE AUSPICIO", Font.HELVETICA, 10, Font.BOLD, Element.ALIGN_RIGHT, 0));
        tabla.addCell(Pdf.setCeldaPDF("Nro. " + num_auspicio + "\n\n", Font.HELVETICA, 10, Font.NORMAL, Element.ALIGN_RIGHT, 0));
        tabla.addCell(Pdf.setCeldaPDF("Quito, " + Fecha.getFechaSolicitud(fecha_creacion) + "\n\n", Font.HELVETICA, 10, Font.NORMAL, Element.ALIGN_LEFT, 0));
        tabla.addCell(Pdf.setCeldaPDF(texto.toString(), Font.HELVETICA, 10, Font.NORMAL, Element.ALIGN_JUSTIFIED, 0));
        tabla.addCell(Pdf.setCeldaPDF("PLAN DE ACTIVIDADES", Font.HELVETICA, 10, Font.NORMAL, Element.ALIGN_CENTER, 0));
        documento.add(tabla);
        
        
        String [] cabTabla = new String [] {"PLAN DE ACTIVIDADES", "DESDE", "HASTA", "SUB-TOTAL", "IVA", "TOTAL", "FORMA DE PAGO"};
        float [] anchoTabla = new float[]{60f, 35f, 35f, 30f, 20f, 30f, 50f };
        documento.add(Pdf.setCabeceraTabla(cabTabla, anchoTabla));
        
        try{
            PdfPTable tblAuspicios = new PdfPTable(anchoTabla);
            while(rsPanActividades.next()){
                String plan_actividad = rsPanActividades.getString("plan_actividad")!=null ? rsPanActividades.getString("plan_actividad") : "";
                String fecha_desde = rsPanActividades.getString("txt_fecha_desde")!=null ? rsPanActividades.getString("txt_fecha_desde") : "";
                String fecha_hasta = rsPanActividades.getString("txt_fecha_hasta")!=null ? rsPanActividades.getString("txt_fecha_hasta") : "";
                String asubtotal = rsPanActividades.getString("subtotal")!=null ? rsPanActividades.getString("subtotal") : "";
                String aiva = rsPanActividades.getString("iva")!=null ? rsPanActividades.getString("iva") : "";
                String atotal = rsPanActividades.getString("total")!=null ? rsPanActividades.getString("total") : "";
                String forma_pago = rsPanActividades.getString("forma_pago")!=null ? rsPanActividades.getString("forma_pago") : "";
                tblAuspicios.addCell(Pdf.setCeldaPDF(plan_actividad, Font.HELVETICA, 9, Font.NORMAL, Element.ALIGN_LEFT, 1));
                tblAuspicios.addCell(Pdf.setCeldaPDF(fecha_desde, Font.HELVETICA, 9, Font.NORMAL, Element.ALIGN_LEFT, 1));
                tblAuspicios.addCell(Pdf.setCeldaPDF(fecha_hasta, Font.HELVETICA, 9, Font.NORMAL, Element.ALIGN_LEFT, 1));
                tblAuspicios.addCell(Pdf.setCeldaPDF(asubtotal, Font.HELVETICA, 9, Font.NORMAL, Element.ALIGN_RIGHT, 1));
                tblAuspicios.addCell(Pdf.setCeldaPDF(aiva, Font.HELVETICA, 9, Font.NORMAL, Element.ALIGN_RIGHT, 1));
                tblAuspicios.addCell(Pdf.setCeldaPDF(atotal, Font.HELVETICA, 9, Font.NORMAL, Element.ALIGN_RIGHT, 1));
                tblAuspicios.addCell(Pdf.setCeldaPDF(forma_pago, Font.HELVETICA, 9, Font.NORMAL, Element.ALIGN_CENTER, 1));
            }
            tblAuspicios.addCell(Pdf.setCeldaPDF(" ", Font.HELVETICA, 9, Font.NORMAL, Element.ALIGN_LEFT, 1));
            tblAuspicios.addCell(Pdf.setCeldaPDF(" ", Font.HELVETICA, 9, Font.NORMAL, Element.ALIGN_LEFT, 1));
            tblAuspicios.addCell(Pdf.setCeldaPDF("TOTAL", Font.HELVETICA, 9, Font.NORMAL, Element.ALIGN_CENTER, 1));
            tblAuspicios.addCell(Pdf.setCeldaPDF(subtotal, Font.HELVETICA, 9, Font.NORMAL, Element.ALIGN_RIGHT, 1));
            tblAuspicios.addCell(Pdf.setCeldaPDF(iva, Font.HELVETICA, 9, Font.NORMAL, Element.ALIGN_RIGHT, 1));
            tblAuspicios.addCell(Pdf.setCeldaPDF(total, Font.HELVETICA, 9, Font.NORMAL, Element.ALIGN_RIGHT, 1));
            tblAuspicios.addCell(Pdf.setCeldaPDF(" ", Font.HELVETICA, 9, Font.NORMAL, Element.ALIGN_CENTER, 1));
            documento.add(tblAuspicios);
        }catch(Exception e){
            e.printStackTrace();
        }
        
        StringBuilder texto2 = new StringBuilder();
        texto2.append("\n\nEn contraprestación, EL AUSPICIADOR se obliga a pagar a EL AUSPICIADO la cantidad de ");
        texto2.append(son);
        texto2.append(" DOLARES AMERCIANOS ($ ");
        texto2.append(total);
        texto2.append("), valor que deberá ser cancelado en su totalidad según la forma de pago establecida en el Plan de Actividades en un lapso oportuno de ");
        texto2.append(plazo);
        texto2.append(" días.");
        if(observacion.compareTo("")!=0){
            texto2.append("\n\n\nObservaciones.- ");
            texto2.append(observacion);
        }
        texto2.append("\n\n\n\n\n\n");
        
        PdfPTable tabla2 = new PdfPTable(1);
        tabla2.addCell(Pdf.setCeldaPDF(texto2.toString(), Font.HELVETICA, 10, Font.NORMAL, Element.ALIGN_JUSTIFIED, 0));
        documento.add(tabla2);
        
        PdfPTable tblFirma = new PdfPTable(2);
        tblFirma.addCell(Pdf.setCeldaPDF("_____________________________", Font.HELVETICA, 10, Font.NORMAL, Element.ALIGN_CENTER, 0));
        tblFirma.addCell(Pdf.setCeldaPDF("_____________________________", Font.HELVETICA, 10, Font.NORMAL, Element.ALIGN_CENTER, 0));
        
        tblFirma.addCell(Pdf.setCeldaPDF("EL AUSPICIADO", Font.HELVETICA, 10, Font.NORMAL, Element.ALIGN_CENTER, 0));
        tblFirma.addCell(Pdf.setCeldaPDF("EL AUSPICIADOR", Font.HELVETICA, 10, Font.NORMAL, Element.ALIGN_CENTER, 0));
        
        tblFirma.addCell(Pdf.setCeldaPDF(empleado, Font.HELVETICA, 10, Font.NORMAL, Element.ALIGN_CENTER, 0));
        tblFirma.addCell(Pdf.setCeldaPDF(contacto, Font.HELVETICA, 10, Font.NORMAL, Element.ALIGN_CENTER, 0));
        
        tblFirma.addCell(Pdf.setCeldaPDF("FARMAENLACE CIA LTDA", Font.HELVETICA, 10, Font.NORMAL, Element.ALIGN_CENTER, 0));
        tblFirma.addCell(Pdf.setCeldaPDF(proveedor, Font.HELVETICA, 10, Font.NORMAL, Element.ALIGN_CENTER, 0));
        
        tblFirma.addCell(Pdf.setCeldaPDF("CC" + cedula_empleado, Font.HELVETICA, 10, Font.NORMAL, Element.ALIGN_CENTER, 0));
        tblFirma.addCell(Pdf.setCeldaPDF("CC" + cedula, Font.HELVETICA, 10, Font.NORMAL, Element.ALIGN_CENTER, 0));
        documento.add(tblFirma);
        
        documento.close();
        
    }
}
